home *** CD-ROM | disk | FTP | other *** search
/ Developer CD Series 1992 June: ROMin Holiday / ADC Developer CD (1992-06) (''ROMin Holiday'')_iso / Developer Connection - 06-1992.iso / Development Platforms / Apple II / Essentials / Technical.Notes / UDsk / TN.UDSK.005 < prev   
Encoding:
Text File  |  1988-12-15  |  4.2 KB  |  85 lines  |  [TEXT/pdos]

  1. Apple II
  2. Technical Notes
  3. _____________________________________________________________________________
  4.                                                   Developer Technical Support
  5.  
  6.  
  7. UniDisk 3.5
  8. #5:    Architectural Differences Between 3.5" Drives
  9.  
  10. Revised by:    Matt Deatherage                                  November 1988
  11. Written by:    Cameron Birse & Mike Askins                       October 1986
  12.  
  13. This Technical Note provides information of interest to those developers 
  14. writing low-level software for the UniDisk 3.5 and Apple 3.5 disk drives.
  15. _____________________________________________________________________________
  16.  
  17. Definition of Drives
  18.  
  19. It is important to understand the differences between Apple's 3.5" drives if 
  20. you are considering writing low-level software for use on the Apple II family 
  21. drives.
  22.  
  23. UniDisk 3.5        is an intelligent drive, meaning that it has a 
  24.                    microprocessor-based controller inside the drive enclosure 
  25.                    that communicates with the host computer in an intelligent 
  26.                    fashion through the IWM port.  The host sends commands to 
  27.                    the intelligent controller in the drive and the controller 
  28.                    manipulates the drive hardware to read or write, and sends 
  29.                    the data back to the host in a "packet" format.
  30.  
  31. Apple 3.5 Drive    is an unintelligent drive that depends on the host 
  32.                    computer to manipulate the drive hardware to read and write 
  33.                    data to and from the drive.  Apple IIGS low-level routines 
  34.                    for this drive will be essentially the same as those 
  35.                    downloaded to the UniDisk 3.5 controller RAM, except they 
  36.                    will reside in the host computer's memory.  New device-
  37.                    specific control calls must be used for the Apple 3.5 Drive.
  38.  
  39.  
  40. Tips for Low-Level Drive Access
  41.  
  42. The following calls are not guaranteed to be compatible in the future; for the 
  43. highest level of compatibility, avoid disk access at this level.
  44.  
  45. o    Identifying the drives:  The drives can be identified by first 
  46.      searching for a device that has the SmartPort firmware.  After 
  47.      determining that there is a SmartPort device in the machine, 
  48.      perform a STATUS call with the statcode = $03 (return Device 
  49.      Information Block (DIB)).  In the DIB there is a type byte and a 
  50.      subtype byte.  The UniDisk 3.5 has a value of $01 for the type 
  51.      byte and $00 for the subtype byte.  The Apple 3.5 Drive also has a 
  52.      value of $01 for the type byte, but its subtype byte value is $C0.  
  53.      Be sure to make device-specific calls to ensure drive 
  54.      identification.  See SmartPort Technical Note #7, SmartPort 
  55.      Subtype Codes for more details.
  56. o    Special routines:  In the UniDisk 3.5, there is extra RAM space 
  57.      in the controller's memory map for custom read, write and ID 
  58.      routines.  These routines can be downloaded to the controller from 
  59.      the host and executed via the SmartPort.  With the Apple 3.5 
  60.      Drive, these special routines reside in the host memory.  
  61.      Equivalent mark and hook tables for the Apple 3.5 Drive, set by 
  62.      control calls through the SmartPort, are supported on the Apple 
  63.      IIGS , but are not guaranteed for all drives and CPUs.
  64. o    IWM hardware differences:  On the UniDisk 3.5, the IWM 
  65.      registers are located in the drive's controller memory starting at 
  66.      $0A00.  On the Apple 3.5 Drive, the IWM registers are located in 
  67.      host memory starting at $C0E0 (slot 6 I/O space).
  68. o    Speed differences:  Downloaded code in the UniDisk 3.5 
  69.      controller runs at slightly under 2 MHz, and the cycle times are 
  70.      regular.  The Apple IIGS running at 1 MHz also has regular cycles, 
  71.      however, when running at 2.8 MHz, the timing is complicated by RAM 
  72.      refresh and I/O synchronization times.  It is best to avoid timing 
  73.      critical solutions, or be sure to run at 1 MHz for the Apple 3.5 
  74.      Drive.
  75.  
  76. As always, in order to promote compatibility between your software and future 
  77. Apple II systems and to avoid writing utilities which will only work on one 
  78. kind of drive, you should avoid low-level calls that are specific to a 
  79. particular device or CPU.
  80.  
  81.  
  82. Further Reference
  83. o    Apple IIGS Firmware Reference
  84.  
  85.